100 RANDOMIZE
110 HI=0
120 CALL CLEAR :: CALL SCREEN(2)
130 FOR I=3 TO 8 :: CALL COLOR(I,11,1) :: NEXT I :: CALL COLOR(0,11,1)
140 DISPLAY AT(2,1):"CREATURES":"========="
150 DISPLAY AT(24,1)BEEP:"SELECT LEVEL 1 2 3 OR 4" :: ACCEPT AT(24,28)SIZE(1)VALIDATE("1234"):L :: L=1/L :: CALL CLEAR
160 CALL CHAR(33,"181818183C7E6642")
170 CALL CHAR(40,"1000008000000100")
180 CALL CHAR(96,RPT$("18",8))
190 CALL CHAR(100,"3CC3A599FF244281C6693311113369C69CA6EE342C762519183C66C3A9423C54")
200 CALL CHAR(112,"81C3663CC3A599FF6396CC8888CC96633D65772C346EA498183C66C395423C2A")
210 REM  SET UP SCREEN
220 GOSUB 510
230 FOR I=6 TO 28 :: CALL SPRITE(#I,40,INT(RND*14+3),1,RND*225+10,RND*4+1,0) :: NEXT I
240 Y=161 :: X=121 :: SP=1 :: N=4 :: SC,SCO=100
250 CALL SPRITE(#1,33,5,Y,X)
260 N=4 :: SP=SP+L :: FOR I=2 TO 5 :: CALL SPRITE(#I,98+I,INT(RND*14+3),15,RND*225+25,RND*SP+1,RND*-3+2) :: NEXT I
270 REM  MAIN KEY LOOP
280 CALL KEY(0,K,S) :: CALL PATTERN(#2,100,#3,101,#4,102,#5,103) :: IF K=83 THEN GOSUB 370
290 IF K=68 THEN GOSUB 400
300 IF K=89 THEN GOSUB 430
310 CALL PATTERN(#2,112,#3,113,#4,114,#5,115)
320 IF N=0 THEN 260
330 SCO=SCO-N*SP :: SC=SC+1
340 DISPLAY AT(24,1):"CREATURES      ENERGY=";INT(SCO) :: IF SCO<=0 THEN 480
350 GOTO 280
360 REM  MOVE LEFT
370 IF X<17 THEN RETURN
380 X=X-8 :: CALL LOCATE(#1,Y,X) :: RETURN
390 REM  MOVE RIGHT
400 IF X>245 THEN RETURN
410 X=X+8 :: CALL LOCATE(#1,Y,X) :: RETURN
420 REM  FIRE LASER
430 CALL VCHAR(1,X/8+1,96,20) :: CALL SOUND(-250,110,30,110,30,750,30,-8,0) :: CALL COLOR(9,16,1) :: CALL COLOR(9,1,1)
440 CALL VCHAR(1,X/8+1,32,20) :: FOR I=2 TO 5 :: CALL POSITION(#I,A,B) :: IF A<Y AND(B>X-3 AND B<X+8)THEN 460
450 NEXT I :: RETURN
460 CALL DELSPRITE(#I) :: CALL SOUND(-50,-6,0) :: N=N-1 :: SCO=SCO+100 :: SC=SC+100 :: RETURN
470 REM  END GAME
480 CALL DELSPRITE(#2,#3,#4,#5) :: CALL SOUND(-1000,-1,2) :: CALL COLOR(#1,9) :: HI=MAX(HI,SC) :: DISPLAY AT(8,5):"HIGHT SCORE=";HI
490 DISPLAY AT(10,1):" SELECT LEVEL 1 2 3 OR 4" :: ACCEPT AT(10,28)SIZE(1)VALIDATE("1234"):L :: L=1/L
500 CALL DELSPRITE(#1) :: CALL CLEAR :: GOSUB 510 :: GOTO 240
510 FOR I=1 TO 25 :: CALL HCHAR(RND*23+1,RND*31+1,40) :: NEXT I :: CALL COLOR(2,11,1)
520 RETURN
530 REM  ***********
540 REM  * (c)1983 *
550 REM  * LANTERN *
560 REM  * software*
570 REM  ***********
